package com.hsjk.szwj.module.train.dal.mysql.question;

import com.hsjk.szwj.framework.mybatis.core.mapper.BaseMapperX;
import com.hsjk.szwj.module.train.controller.app.vo.question.AppMemberCollectIdsReqVO;
import com.hsjk.szwj.module.train.controller.app.vo.question.AppMemberCollectQuestionRespVO;
import com.hsjk.szwj.module.train.controller.app.vo.question.AppMemberCourseCollectQuestionReqVO;
import com.hsjk.szwj.module.train.controller.app.vo.question.AppMemberCourseErrorQuestionReqVO;
import com.hsjk.szwj.module.train.controller.app.vo.question.AppMemberErrorIdsReqVO;
import com.hsjk.szwj.module.train.controller.app.vo.question.AppMemberErrorQuestionRespVO;
import com.hsjk.szwj.module.train.dal.dataobject.question.MemberQuestionRecordDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author chenjiawei
 * @desc
 * @Date 2023/09/03 11:23
 **/
@Mapper
public interface IMemberQuestionRecordMapper extends BaseMapperX<MemberQuestionRecordDO> {
    List<Long> getCurrentMemberErrorQuestionIdList(@Param("param") AppMemberErrorIdsReqVO reqVO);

    List<Long> getCurrentMemberCollectQuestionIdList(@Param("param") AppMemberCollectIdsReqVO reqVO);

    List<AppMemberErrorQuestionRespVO> getMemberChapterErrorQuestionByCourseId(@Param("courseId") Long courseId
            , @Param("memberId") Long memberId,@Param("tenantIds") List<Long> tenantIds);

    List<AppMemberCollectQuestionRespVO> getMemberChapterCollectQuestionByCourseId(@Param("courseId") Long courseId
            , @Param("memberId") Long memberId,@Param("tenantIds") List<Long> tenantIds);

    List<Long> getMemberCourseErrorQuestionIdList(@Param("param") AppMemberCourseErrorQuestionReqVO reqVO
            , @Param("memberId") Long memberId);

    List<Long> getMemberCourseCollectQuestionIdList(@Param("param") AppMemberCourseCollectQuestionReqVO reqVO
            , @Param("memberId") Long memberId);

    List<Long> getCurrentMemberCollectQuestionIdListByCourseId(@Param("memberId") Long memberId, @Param("courseId") Long courseId);
}
